17 research outputs found
Recommended from our members
Inverse Shade Trees for Non-Parametric Material Representation and Editing
Recent progress in the measurement of surface reflectance has created a demand for non-parametric appearance representations that are accurate, compact, and easy to use for rendering. Another crucial goal, which has so far received little attention, is editability: for practical use, we must be able to change both the directional and spatial behavior of surface reflectance (e.g., making one material shinier, another more anisotropic, and changing the spatial "texture maps" indicating where each material appears). We introduce an Inverse Shade Tree framework that provides a general approach to estimating the "leaves" of a user-specified shade tree from high-dimensional measured datasets of appearance. These leaves are sampled 1- and 2-dimensional functions that capture both the directional behavior of individual materials and their spatial mixing patterns. In order to compute these shade trees automatically, we map the problem to matrix factorization and introduce a flexible new algorithm that allows for constraints such as non-negativity, sparsity, and energy conservation. Although we cannot infer every type of shade tree, we demonstrate the ability to reduce multi-gigabyte measured datasets of the Spatially-Varying Bidirectional Reflectance Distribution Function (SVBRDF) into a compact representation that may be edited in real time.Engineering and Applied Science
Abstract Real-time Mesh Simplification Using the GPU
Recent advances in real-time rendering have allowed the GPU implementation of traditionally CPU-restricted algorithms, often with performance increases of an order of magnitude or greater. Such gains are achieved by leveraging the large-scale parallelism of the GPU towards applications that are well-suited for these streaming architectures. By contrast, mesh simplification has traditionally been viewed as a non-interactive process not readily amenable to GPU acceleration. We demonstrate how it becomes practical for real-time use through our method, and that the use of the GPU even for offline simplification leads to significant increases in performance. Our approach for mesh decimation adopts a vertexclustering method to the GPU by taking advantage of a new addition to the rendering pipeline- the geometry shader stage. We present a novel general-purpose data structure designed for streaming architectures called the probabilistic octree, which allows for much of the flexibility of offline implementations, including sparse encoding and variable level-of-detail. We demonstrate successful use of this data structure in our GPU implementation of mesh simplification. We can generate adaptive levels of detail by applying non-linear warping functions to the cluster map in order to improve resulting simplification quality. Our GPU-accelerated approach enables simultaneous construction of multiple levels of detail and outof-core simplification of extremely large polygonal meshes
Stylized shadows
Figure 1: Traditional computer graphics algorithms produce “accurate ” shadows (left). Artists often deliberately render abstract shadows, such as the shadow with reduced contour detail in this painting by Vanderlyn, 1818 (middle). Our system offers controls for creation of stylized shadows (right). While much research has focused on rendering physically-correct shadows, a “correct ” shadow often exhibits unnecessary detail that distracts from the primary subject of the scene. Artists often prefer to have creative control over the rendered appearance of the shadow. This paper presents an algorithm offering control over stylized shadows, based on four intuitive parameters – inflation, brightness, softness, and abstraction – that together support a broad range of effects. The algorithm, which works largely in image space, can easily be incorporated into existing rendering pipelines, and is independent of scene geometry or shadow determination method.
Cash: Distributed Cooperative Buffer Caching
Modern servers pay a heavy price in block access time on diskbound workloads when the working set is greater than the size of the local buffer cache. We provide a mechanism for cooperating servers to coordinate and share their local buffer caches. The coordinated buffer cache can handle working sets on the order of the aggregate cache memory, greatly improving performance on diskbound workloads. This facility is provided with minimal communication overhead, no penalty for local cache hits, and without any explicit kernel support